/**
 * 全局state，存放于store。
 */
const state = {
    num:0,
}
/**
 * 计算state
 */
const getters = {
    addNum: state => state.num,
}
/** 
 * 类似于reducer，处理state逻辑，通过this.$store.commit("xxx")调用
 * 只能操作同步方法，不能异步
 * **/

const mutations = {
    addNumFn(state){
        ++state.num;
    }
}
/**
 * action，通过this.store.dispatch("xxx")调用，可以操作同步也可以操作异步。
 */
const actions = {
    addAction(context){
        setTimeout(()=>{
            context.commit("addNumFn")
        },300)
    }
}

export default{
    state,
    getters,
    mutations,
    actions
}